# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-lxml
_pkgname=lxml
pkgver=4.9.4
pkgrel=0
pkgdesc="Python3 LXML Library"
url="https://lxml.de/"
arch="all"
license="BSD-3-Clause AND ZPL-2.0 AND ElementTree"
makedepends="
	cython
	libxml2-dev
	libxslt-dev
	py3-gpep517
	py3-setuptools
	py3-wheel
	python3-dev
	"
subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
	libxml-2.10.4.patch
	libxml-2.11.0.patch
	tests-fix-encoding-name.patch
	"
builddir="$srcdir/$_pkgname-$pkgver"

# secfixes:
#   4.9.2-r0:
#     - CVE-2022-2309
#   4.6.5-r0:
#     - CVE-2021-43818
#   4.6.2-r0:
#     - CVE-2020-27783
#   4.6.3-r0:
#     - CVE-2021-28957

build() {
	export CFLAGS="$CFLAGS -flto=auto"
	gpep517 build-wheel \
		--wheel-dir .dist \
		--config-json '{"--build-option": ["--with-cython"]}' \
		--output-fd 3 3>&1 >&2
}

check() {
	local testpy3="$builddir"/.testenv/bin/python3
	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl
	make PYTHON="$testpy3" PYTHON3="$testpy3" test3
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl
}

sha512sums="
a217468681ece8d86da2d171e4e7036fffc30b9b873e3697f2078559a33787e023b4346b4fffeeaaa7070abff89f82247dd6b941d70090301a1815d41ae5ca72  lxml-4.9.4.tar.gz
9602b2d704dfa85bc76a84c905531ae418c326b93b601da83ad4e14460551f4eb2ddde406e67de181337028f3d591b9d537c6637ec2bbc7dd576cfbd1a50552c  libxml-2.10.4.patch
6436f87042563bb3a08bd7d0216fdb284d639b1a72fde77dce75d7c3e63f4f18ba115df9540fe4298f558df53f9dbfbd781374138544e8e5d9cb5ca5928f343c  libxml-2.11.0.patch
ef5ba4064166443e07040db315173a4d0cb0d83eb3cd49623f210253a25433ec1c408d6d8e538f93498a211bc1695fdaa3e39f8ac75f36a3319c38bd96ba73eb  tests-fix-encoding-name.patch
"
